The MTQ (memory to queue) instruction performs data transfer from a specified
memory location into a specified queue. The destination queue can be a local
or a remote one. The burst length, memory address, and remote communication
offsets are decoded from the last value stored by the LAL instruction. The
inputs following the MTQ instruction are as follows:
- Len: The length is a temporization directive for the shaker. Since the MTQ is a
delayable memory instruction, i.e., it does not cause a stretch to the micro-code,
a burst length of 1 can be used for the different bursts.
- C5: When C5 = 1, exceptions are conditioned by the top of the stack (see below for
the exceptions that are conditioned by C5).
Takes 1 cycles to execute.
Example: MASM code see below.
DISP C5 MCC STKC FLW IOC AGU ASEL
----------------------------------------------
00010000 0 - - - - - -
00000bb8 0 - - - - D -
00000000 0 - - - - - LAL
00000000 0 - - - - - -
00000000 0 M2Q - - - - -
00000000 1 - - - - - -
DISP C5 MCC STKC FLW IOC AGU ASEL
----------------------------------------------
[DISPHI] 0 - - - - - -
[DISPLO] 0 - - - - D -
00000000 0 - - - - - LAL
00000000 0 - - - - - -
00000000 0 M2Q - - - - - *
00000000 [C5] - - - - - -
----------------------------------------------
* - Distance 2 between LAL and M2Q
Configuration Register: 0x20 (CrMemExc)
 |
Exception No. |
Mask |
R/W Access |
Cond. |
Name |
 |
[8] |
00000000 00000100 |
RW |
C5 |
Data Segmentation Fault |
[15] |
00000000 00008000 |
RW |
|
Direction FIFO Full |
[16] |
00000000 00010000 |
RW |
|
Local FIFO Full |
 |
AGU_D ZERO 0x0001000000000bb8 !! AGU output, with the encoding:
!! burst=1, memory address=0xbb8,
!! local communication
LAL 0 !! Loads the output of the AGU
MTQ 1 0 !! Copies the data of memory address
!! 0xbb8 to the local queue